1. Field of the Invention
The present invention relates to a detection device for detecting the magnetic pole position of a synchronous motor that is controlled based on a d-phase current command and a q-phase current command, and to a control apparatus equipped with such a detection device.
2. Description of the Related Art
In a synchronous motor, desired torque is produced by supplying current to an appropriate excitation phase winding according to the magnetic pole position of the rotor by using a d-q coordinate control system. Such synchronous motors are classified as two types: one that is equipped with a magnetic pole position sensor such as an encoder for detecting the magnetic pole position of the rotor, and one that is not.
In the case of a synchronous motor not equipped with such a magnetic pole position sensor, each time the synchronous motor is powered up (started up), a magnetic pole position detection is performed to detect the initial position of the magnetic pole (hereinafter called the “magnetic pole initial position”), and the rotation of the synchronous motor is controlled based on the magnetic pole position detected relative to the magnetic pole initial position. However, if the accuracy of the power-on magnetic pole position detection varies, the torque constant for driving the synchronous motor also varies, which may result in an inability to produce maximum torque. In particular, when driving the synchronous motor up to a high-speed where field weakening control becomes necessary, if the magnetic pole position is displaced, an appropriate d-phase current cannot be supplied, resulting in an inability to supply sufficient drive voltage to the synchronous motor, and therefore the control may become unstable.
In one method to address this problem, in such cases as when starting up the synchronous motor for the first time or when performing replacement or maintenance of a motor sensor, a magnetic pole correction value Or which represents the amount of displacement between the reference position of the magnetic pole and the reference position of the rotation sensor of the synchronous motor is stored in advance in a nonvolatile memory, and when the reference position of the rotation sensor of the synchronous motor is first detected after detecting the magnetic pole position at power-on of the synchronous motor, the magnetic pole position to be used for rotation control is corrected based on the magnetic pole correction value θr corresponding to that reference position so that the control can always be performed by reference to the same magnetic pole position during the driving of the synchronous motor. According to this method, once the magnetic pole correction value θr corresponding to the sensor reference position is stored in the nonvolatile memory, and once the magnetic pole initial position is corrected, the control can always be performed by reference to the magnetic pole correction value θr corresponding to the sensor reference position.
On the other hand, in the method proposed in Japanese Unexamined Patent Publication No. 2004-072902, the reference point of an encoder is first aligned with the reference point (U phase) on the stator of a motor locked under DC excitation, and then, the amount of displacement is calculated from the initial magnetic pole estimation result and encoder position information and stored in an encoder memory, and the magnetic pole position is corrected based on the amount of displacement thus stored.
In the method that uses the magnetic pole correction value, when the reference position of the rotation sensor of the synchronous motor is first detected after detecting the magnetic pole position at power-on of the synchronous motor, the magnetic pole position relative to the magnetic pole initial position corresponding to that reference position is set as the magnetic pole correction value. However, since the accuracy of the magnetic pole position detection varies, as described above, there is a need to perform the magnetic pole position detection a plurality of times in order to reduce the effect of the detection accuracy variation on the magnetic pole correction value setting, and hence the problem that it takes time to make the setting. Further, this method does not provide any particular metric as to how many times the magnetic pole position detection should be performed, and thus involves the problem that the amount of error contained in the magnetic pole correction value cannot be reduced sufficiently.
One possible method of setting the magnetic pole correction value would be to make adjustments by increasing or decreasing fine adjustment parameters so that there would be no difference in acceleration time or torque command, regardless of whether the synchronous motor is rotated in the forward direction or reverse direction. With this method, however, in the case of a non-salient pole synchronous motor in which torque control is performed using the q-phase current while controlling the d-phase current to zero, since the real q-phase current (i.e., the projection of the q-phase current command on the real q-axis) required to drive the motor in either direction becomes the same in magnitude regardless of whether the magnetic pole position is displaced or not, there occurs no difference in the magnitude of the torque command or the real torque; accordingly, this method cannot be used for non-salient pole synchronous motors.
On the other hand, in the invention disclosed in Japanese Unexamined Patent Publication No. 2004-072902, since the amount of displacement is calculated using the initial magnetic pole estimation result, there is the problem that if the initial magnetic pole estimation result contains an error, the amount of displacement stored in the encoder memory also contains an error.